1. Field of the Invention
This invention relates to systems, apparatus, and methods for recovering data and more particularly relates to systems, apparatus, and methods for collecting dump data.
2. Description of the Related Art
A data dump typically refers to a collection of available dump data which is temporarily stored in a volatile memory of a digital system (such as a storage control unit) at the time of a processing error or failure or other processing event. Dump data may be useful for diagnosing causes of an error or failure or otherwise assessing the performance of a digital system. Dump data may be directly associated with the performance of one or more hardware and/or software components of the digital system. In some systems, the dump data may include all or substantially all of the data located in volatile memory of a storage control unit at the time of the event.
The dump data of the data dump may be retrieved in a dump data collection process such as an On-Demand Data (ODD) Dump collection process which retrieves the dump data in response to a request which may be issued by a user or by exception handler selection logic, for example. To prevent loss of the dump data stored in volatile memory, normal operations such as input/output operations of the storage control unit are frequently suspended by the ODD collection process while the data of the data dump is collected.
Depending upon the size of the data dump, collection of dump data can be relatively time consuming, and therefore can have a significant impact on storage operations. For example, in a system capable of performing three million input/output operations per second, a pause for dump data collection for an interval as short as one second can delay as many as three million input/output operations. Accordingly, many systems employ a timer to limit the input/output suspension period of the dump data collection. If the timer expires before the dump data collection is completed, the resumption of normal input/output operations can lead to loss of some if not all of the data dump.
It has been proposed to prioritize the dump data collection process so as to target dump data of a higher priority before dump data of a lower priority is targeted for collection. In other systems, it has been proposed to provide logic to analyze the nature of an error or other event associated with the data dump and determine which portions of the total dump data available are to be targeted for collection. However, in these proposals, if a dump data collection timer expires before the dump data collection is completed, the resumption of normal input/output operations can lead to loss of some if not all of the dump data targeted for collection.